Unity制作人专场|打造3A级游戏渲染方案
近期,Unity在北京、成都、深圳分别举办了三场制作人专场活动,搭建优秀游戏制作人与Unity官方面对面交流的桥梁,内容涵盖项目优化、技术美术与解决方案等多个方面。
本文为大家带来的是Unity技术美术总监林宇的演讲-《打造3A级游戏渲染方案》。你可以点击[阅读原文]下载本次演讲的PPT。
下面是本次演讲视频。
演讲内容
大家好,我是林宇,来自香港,现在上海工作,担任Unity技术美术总监。
今天我将介绍渲染的趋势,未来可以运用的一些新技术,以及Unity为企业级客户提供的一些服务。
本次演讲的内容主要针对高端一点的渲染方案。一谈到渲染方案,大家就会想到:画面渲染一定要很棒。
首先我不能不提最基础的内容-物理渲染管线,我了解很多客户团队,他们现在使用的不是物理渲染管线,很多时候后期达不到Unity一直在推荐的PBR效果质量。
从2017年开始,Unity中引入了可编程渲染管线SRP。其中有两种渲染管线:高清晰渲染管线HDRP和轻量级渲染管线LWRP,也就是现在的通用渲染管线Universal Render Pipeline,简称URP。
为什么要轻量级渲染管线LWRP改名为通用渲染管线URP呢?
当时用“轻量级”这个名字的时候,有一些客户误会成只要用了这个管线,功能和性能就自然提高了。由于这个误解,我们便将名字修改了。
通用渲染管线URP是指可以针对任何平台发布,但是高清晰渲染管线HDRP只针对高端的性能的平台。
高清晰渲染管线HDRP还支持实时光线追踪。现在大家可能应用实时光线追踪还很遥远,但是也许不到一年以后多硬件都会支持RayTracing加速渲染,这会在未来非常普及。
现在不少项目在建模的时候还是使用比较传统的方式,但如果要程序化这种后期编辑的话,就要用到新的Houdini技术。
现在很多公司还是自己画贴图,或者上网下载一些图片,很多时候,不能符合PBR的材质标准,经常会出现最后渲染差错。建议大家参考《闪耀暖暖》的制作流程,如果你们还没有这种使用Substance贴图制作流程,请尽快学习使用。
下面是大家非常熟悉的Unity的《ADAM》项目,已经在使用这种流程。
下面我将介绍可编程渲染管线SRP,包括高清晰渲染管线HDRP和通用渲染管线URP。
现在URP已是一个很稳定的版本,技术方面,跟以前的PBR差别不是很大,但是更优化了和支持多光源,性能上提升了很多,做到只需要使用一个PASS渲染。
下面是大家都看过的《异教徒》,画面效果已经达到影视级的渲染效果。这就是高清晰渲染管线HDRP的效果,它强调非常准确的物理渲染。
可编程渲染管线SRP中有一个很好用工具-Shader Graph着色器视图。它可以帮助开发者、美术人员等进行可视化的着色器构建。不必手工编写代码,只要在一个图形网络中创建并连接节点,就可以设计和调试着色器,并且每一步都可预览。
可能以前写Shader代码的人还不太习惯用它,还是习惯写代码,但是慢慢都要改变,因为美术人员看不懂代码。有了Shader Graph以后,美术人员可以维护或者修改一些Shader,这就多了一种选择。
高清晰渲染管线HDRP支持不同的光照模型,其中一项就是SSS,懂美术的人都知道,就是透光的效果。
大家可以观察下图角色的耳朵,后面有灯光,所以会透红,这是非常准确的物理现象。
高清晰渲染管线HDRP支持Specular Occlusion(SO), AO大家都知道,是环境光的遮挡。对反光来说有的时候会有漏光现象,如果只用AO遮挡反光的话还不够,但是帮助还是有一点。
真正采用SO可以计算到哪一个Polygon面采不到环境高光,BendNormal可以计算反射角度,如果这个角度有遮挡的话,光照的方向就会偏移一点。
下面介绍一下实时光线追踪。为什么说实时光线追踪技术是未来的发展趋势呢?
大家知道现在只有NVIDIA RTX 2000系列显卡才有实时光追加速器,但许多厂商也开始相继研发,例如:华为正在研发实时光线追踪加速器,现在这种功能芯片已经计划逐步在移动平台上发布,另外Imagination公司的显示器芯片也已经有了光线追踪加速的功能。
实时光线追踪可以达到一个非常好的阴影效果,解决了之前提到的漏光问题,实现了高光的遮挡功能和透明的物理折射。如果要很多层透明的话也可以实现,但是需要设置更多的Bounce count值。
如下图所示,在阴影方面,最左边的用简单一般Shadow Map,右边是使用实时光线追踪的比较。我们可以看见右边的树下面阴影比较硬,远处树叶比较软,比较散一点更自然效果。
在Directional light里可改Angular Diameter角度,可以打散一些比较远的距离阴影,可以起到朦胧的阴影效果。
实时光线追踪是在每一个屏幕空间里面,从对每一个像素采一个点去追光。如果你使用RTX显卡的话,就可以很好的支持这个功能,未来PlayStation 5也会支持实时光线追踪。
透明这块,我刚才说过,需要很多比较好的物理准确的折射。如果你要透明后面更多纹理的效果,你需要计算多重反弹才可以实现。
现在大家可能会觉得:会不会很慢很耗性能?其实实时光线追踪需要配合硬件,有硬件加速器可以,没有就会比较耗性能。
在高清晰渲染管线HDRP中可以渲染半透明材质的功能,但效果完全不同,它只可以做到模拟的折射,使用了实时光线追踪后,物理方面是非常准确的,IOR这就是物质折射值,大家可以随时上网查一下水等的物质折射值是怎样的。
我再演示一个稍微简单的场景。这个是实时区域光,你会发现它的阴影很模糊,但却是很高品质的模糊。
这也是刚刚说的折射,当Area Light区域光改变大小以后,可以看到整个场景的阴影都改变了。当光源比较大的时候,就可以采到比较软的阴影效果。越窄的时候,你的阴影也会越明显,特别是那种边缘。
大家都知道平衡光是这样一般的阴影效果,在光源全部都有一个RayTracing Shadow选项,需要的话可以进行勾选,Angular diameter角度也是可以调的,不同的角度,模糊度的效果也都是不一样的。
如果我们打开材质的自发光,就会发现这个材质本身会有发光的效果,现在DXR GI渲染都是这样做到的。
另外再给大家演示一个Demo,现在我们看一下《异教徒》男主角的材质。
场景中有很多光源用作打灯效果测试,你会发现材质精度很高,眼球里折射都是物理准确的,皮肤上也有SSS的效果。这里面我在Shader Graph用了StackLit Master支持多种光照模型的功能。
还有支持有两种高光的勾选,如果你用普通的Lit Master,只能选择其中一个光照模型,但是这个StackLit Master就可以同时选择几种类型。
说到双重高光,如果高光的亮度很多了的话,就会出现过度油腻效果。不够亮的话,又没有体感,一般这种高光不能打得太强烈。
现在用了第二层可以再细化里面的细节,大家可以看一下区别,这是第二层里面更加可以做到很细的皮肤质感,如果这个灯打得光源比较强,就是这样皮肤的Transmission光渗透效,也就是透红的效果。
我的演讲就到这里,谢谢。
小结
Unity社区将陆续发布Unity制作人专场的精彩演说,将前沿技术传递给广大开发者、创作者,助力高品质Made with Unity游戏的诞生。
如果你正在寻求Unity渲染解决方案,可扫描下方二维码与我们联系。
在历届Unite大会中,我们曾邀请过《王者荣耀》、《球球大作战》、《旅行青蛙》等多款知名游戏制作团队,为我们带来干货满满的经验分享。
在Unite Shanghai 2020中,我们将邀请国内外知名游戏制作团队进行分享。现在,Unite 2020的暖冬特惠票正在限时热销中,把握住最优惠的时刻,也可以将你期待哪些游戏制作团队留言告诉我们。
Unite Shanghai 2020 购票地址:
https://connect.unity.com/uniteshanghai2020
推荐阅读
Unite 2019 | Unity中的实时光线追踪技术剖析
Unity通用渲染管线Universal Render Pipeline
Unite Shanghai 2020
点击“阅读原文”下载演讲PPT